<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="../inc.jsp"></jsp:include>
<script type="text/javascript">
	var contract_bill_datagrid;
	$(function() {
		contract_bill_datagrid = $('#contract_bill_datagrid').datagrid({
			url : '${pageContext.request.contextPath}/ContractController/dataGrid',
			pagination : true,
			fit : true,
			rownumbers : true,
			fitColumns : true,
			border : false,
			idField : 'contractid',
			pageSize : 20,
			pageList : [ 20, 40, 60, 80, 100 ],
			sortName : 'contractid',
			sortOrder : 'desc',
			checkOnSelect : true,
			selectOnCheck : true,
			nowrap : false,
			toolbar : [ {
				text : '添加',
				iconCls : 'icon-add',
				handler : function() {
					addFun();
				}
			}, '-', {
				iconCls : 'icon-edit',
				text : '编辑',
				handler : function() {
					editFun();
				}
			}, "-", {
				text : '删除',
				iconCls : 'icon-remove',
				handler : function() {
					delFun();
				}
			}, "-", {
				text : '批量导入',
				iconCls : 'icon-add',
				handler : function() {
					betchAdd();
				}
			} ],
			frozenColumns : [ [ {
				field : 'contractid',
				title : '编号',
				width : 80,
				checkbox : true
			}, {
				field : 'contractName',
				title : '合同名称',
				width : 200,
				sortable : true
			} ] ],
			columns : [ [ {
				field : 'po',
				title : '合同编号',
				width : 20,
				align : 'center',
				sortable : true
			}, {
				field : 'contractMoney',
				title : '合同金额',
				align : 'center',
				width : 10,
				formatter : function(value, row, index) {

					return (accounting.formatNumber(value));
				}

			}, {
				field : 'billSumMoney',
				title : '回款金额',
				align : 'center',
				width : 10,
				formatter : function(value, row, index) {

					return (accounting.formatNumber(value));
				}

			}, {
				field : 'kpMoney',
				title : '开票金额',
				align : 'center',
				width : 10,
				formatter : function(value, row, index) {

					return (accounting.formatNumber(value));
				}

			}, {
				field : 'creatDate',
				title : '合同开始时间',
				align : 'center',
				width : 10,
				sortable : true,
				formatter : function(value, row, index) {
					if (value != null) {
						value = new Date(value).format("yyyy-MM-dd");
					}
					return value;
				}
			}, {
				field : 'cexpirationDate',
				title : '约定验收时间',
				align : 'center',
				width : 10,
				sortable : true,
				formatter : function(value, row, index) {
					if (value != null) {
						value = new Date(value).format("yyyy-MM-dd");
					}
					return value;
				}
			}, {
				field : 'owner',
				title : '负责人',
				width : 10,
				align : 'center',
				editor : 'text'
			} ] ],
			view : detailview,
			detailFormatter : function(index, row) {
				return '<div id="detail'+index+'" style="padding:2px"><table class="billinfodetail"></table></div>';
			},
			onRowContextMenu : function(e, rowIndex, rowData) {
				e.preventDefault();
				$(this).datagrid('unselectAll').datagrid('uncheckAll');
				$(this).datagrid('selectRow', rowIndex);
				$('#rightClickMenu').menu('show', {
					left : e.pageX,
					top : e.pageY
				});
			},
			onExpandRow : function(index, row) {
				var billinfodetail = $(this).datagrid('getRowDetail', index).find('table.billinfodetail');

				billinfodetail.datagrid({
					url : '${pageContext.request.contextPath}/BillController/getBillListByPo?po=' + row.po,
					fitColumns : true,
					singleSelect : true,
					rownumbers : true,
					loadMsg : '',
					sortName : 'billcode',
					sortOrder : 'desc',
					height : 'auto',
					columns : [ [ {
						field : 'billcode',
						title : '发票编码',
						width : 20
					}, {
						field : 'money',
						title : '金额',
						width : 20
					}, {
						field : 'billstatus',
						title : '发票状态',
						width : 20
					}, {
						field : 'billDate',
						title : '开票时间',
						width : 20,
						formatter : function(value, row, index) {
							if (value != null) {
								value = new Date(value).format("yyyy-MM-dd");
							}
							return value;
						}
					}, {
						field : 'paymentsDate',
						title : '付款时间',
						width : 20,
						formatter : function(value, row, index) {
							if (value != null) {
								value = new Date(value).format("yyyy-MM-dd");
							}
							return value;
						}
					} ] ],
					onResize : function() {
						$('#contract_bill_datagrid').datagrid('fixDetailRowHeight', index);
					},
					onLoadSuccess : function(data) {
						setTimeout(function() {
							$('#contract_bill_datagrid').datagrid('fixDetailRowHeight', index);
						}, 0);
					}
				});
				$('#contract_bill_datagrid').datagrid('fixDetailRowHeight', index);
			}

		});

	});

	function editFun() {
		var rows = contract_bill_datagrid.datagrid('getChecked');
		var row = contract_bill_datagrid.datagrid('getSelected');
		if (rows.length == 0) {
			parent.$.messager.show({
				title : '提示信息',
				msg : '请选择一列数据进行修改。',

			});
		} else if (rows.length > 1) {
			parent.$.messager.show({
				title : '提示信息',
				msg : '请勿选择多项修改。',

			});
		} else {
			$.modalDialog({
				minimizable : true,
				maximizable : true,
				resizable : true,
				title : '编辑合同信息',
				width : 750,
				height : 450,
				href : '${pageContext.request.contextPath}/ContractController/queryContractInfo?contractId='
						+ row.contractid,
				buttons : [ {
					text : '保存',
					handler : function() {
						parent.$.modalDialog.openner_editdataGrid = contract_bill_datagrid;//因为添加成功之后，需要刷新这个dataGrid，所以先预定义好
						var f = parent.$.modalDialog.handler.find('#contractEidtForm');
						f.submit();
					}
				} ]
			});
		}
	}

	function searchFun() {
		dataGrid.datagrid('load', $.serializeObject($('#searchForm')));
	}

	function addFun() {
		$.modalDialog({
			minimizable : true,
			maximizable : true,
			title : '增加合同',
			width : 500,
			height : 450,
			href : '${pageContext.request.contextPath}/contract/addContract.jsp',
			buttons : [ {
				text : '保存',
				handler : function() {
					parent.$.modalDialog.openner_dataGrid = contract_bill_datagrid;//因为添加成功之后，需要刷新这个dataGrid，所以先预定义好
					var f = parent.$.modalDialog.handler.find('#addContractForm');
					f.submit();
				}
			} ]
		});
	}
	function delFun() {
		// 得到选中的行  
		//var selRow = contract_bill_datagrid.datagrid("getSelected");//返回选中一行 这个是注释过的  就是取一个  
		var selRow = contract_bill_datagrid.datagrid("getSelections");//返回选中多行  

		if (selRow.length == 0) {
			parent.$.messager.show({
				title : '提示信息',
				msg : '请至少选择一行数据!',

			});
			return false;
		}
		console.info(selRow);
		var contractids = [];
		for (var i = 0; i < selRow.length; i++) {
			//获取自定义table 的中的checkbox值  
			var id = selRow[i].contractid; //OTRECORDID这个是你要在列表中取的单个id   
			contractids.push(id); //然后把单个id循环放到ids的数组中  
		}

		if (confirm("确定要删除选中的合同信息吗?")) {
			$.ajax({
				url : '${pageContext.request.contextPath}/ContractController/delContracts?contractids=' + contractids,
				type : 'post',
				dataType : 'json',
				success : function(result) {
					console.info(result);
					if (result.msg) {
						parent.$.messager.show({
							title : '提示信息',
							msg : result.msg
						});
					} else {
						jQuery.messager.alert("系统异常，请联系管理员");
					}
					contract_bill_datagrid.datagrid('reload');
					
				}
			});
		}
	};

	function betchAdd() {
		$('#betchAddDailog').dialog({
			minimizable : false,
			maximizable : false,
			title : '批量导入合同',
			width : 620,
			height : 400,
			modal : true,
			href : '${pageContext.request.contextPath}/contract/batchAdd.jsp',
			onClose : function() {
				contract_bill_datagrid.datagrid('reload');
			}
		});
	}
</script>
</head>
<body>
	<div id="contractlayout" class="easyui-layout" style="height: 550px">
		<div class="easyui-layout" data-options="fit : true">
			<div data-options="region:'center'">
				<table id="contract_bill_datagrid" fitColumns="true">
				</table>
			</div>
		</div>

		<div id="rightClickMenu" class="easyui-menu" style="width: 120px;">
			<div onclick="addFun();" data-options="iconCls:'pencil_add'">增加</div>
			<div onclick="delFun();" data-options="iconCls:'pencil_delete'">删除</div>
			<div onclick="editFun();" data-options="iconCls:'pencil'">编辑</div>
		</div>
	</div>
	<div id="betchAddDailog"></div>
</body>
</html>